[アップデート] AWS Lambda コンソール上でそのまま CloudWatch Logs の Live Tail 機能が使えるようになりました
いわさです。
Amazon CloudWatch Logs にはオプション機能として Live Tail というものがあります。
こちらを使うとリアルタイムでログ出力状況を確認することができます。
非常に便利な機能でローンチ後もよく私は使っています。
一方で、AWS Lambda の開発中にコンソール上でテスト実行したい時などもこの機能を使うのですが、毎度 CloudWatch Logs 画面に遷移してそこから専用画面を起動して...という手順を踏む必要がありました。
ログ自体は Lambda コンソールからそのまま確認することができていたと思いますが、Live Tail は使えませんでした。
これが先日のアップデートで、AWS Lambda コンソールから Live Tail 機能がそのまま使えるようになりました。
設計が変わるようなアップデートではありませんが、コンソールメインで Lambda 関数をちょろっと開発する時にテストしてログを見てトライアンドエラーしながら作る時あると思うのですが、そういう時に役立ちそうです。
どんな感じで使えるのか見てみましたので紹介します。
コンソールのテストタブから確認可能
どこから操作するのかよくわからんと最初思っていたのですが、ありました。テストタブです。
こちらに「CloudWatch Logs Live Tail」というボタンが追加されてますね。
押してみます。
すると、コンソールの下の方からドロワーな感じでニョキっと CloudWatch Logs Live Tail 用の分割画面が表示されました。なるほど...!
テスト対象の Lambda 関数のロググループがデフォルトでフィルター選択されているのでこの Lambda が出力するログだけを Tail できるようになってますね。これは確かに画面遷移繰り返すより便利で早いですね。良いのでは。
ちなみに初めて Lambda を作成した直後はまだロググループが存在しないため、そのまま Live Tail を開始しても次のようにエラーとなりました。
一度以上実行していればロググループが存在するので次のように開始できます。
ただし Live Tail 機能は Tail を開始した後のログをリアリタイムに表示する形なので開始ボタンを押す前に出力されたログは表示されません。
ここでもう一度テスト実行してみましょう。
少し待つと...表示されました!関数の実行ログを確認することができました。
リアルタイムログといっても数秒のタイムラグが発生しますね。
ただし、従来のようにリフレッシュボタンを何度も押すとか、そういったのが不要なので良い感じです。
特に実行時間が長めな関数だとリアルタイムログが出力される様子を眺めるのは処理のタイミングをイメージ出来るので中々良いと思います。
ちなみに CloudWatch Logs Live Tail は有料の機能となっています。
Tail を開始している間のセッション時間で料金が発生しまして、コンソール終了後も 15 分後に自動停止されるなどは一応あるのですが、不要になったら停止しておくと良いですね。
[余談] new code editor experience in the Lambda console って何?
今回のアップデート情報は AWS 公式ブログでも紹介されています。
ただし、なんだか我々が使っている Lambda コンソール画面とスクリーンショットが違うのですよね。
上記公式ブログには
Figure 2: Starting Live Tail from code editor in Lambda console
Note: Figure 2 shows the new code editor experience in the Lambda console
と記載されています。
調べてみた限りでは Lambda コードエディタがアップデートされたとは見当たらなかったので、開発中画面を公開してしまったのでしょうか。
re:Invent も近いですし、近々 Lambda のコードエディタアップデートされるのかもしれませんね。ちょっと楽しみですね。
さいごに
本日は AWS Lambda コンソール上でそのまま CloudWatch Logs の Live Tail 機能が使えるようになったので使い方を確認してみました。
冒頭でも少し触れましたが、Live Tail 自体はコンソール上での開発体験が高まる良い機能だと思います。ぜひ使ってみてください。
有料なのでそこだけ気をつけましょう。料金ページはこちらを参考にしてください。